// app.ts
import { OCRConfig, getCloudEnvId } from './utils/cloud-config'

interface IAppOption {
  globalData: any;
  checkLoginStatus: () => void;
}

App<IAppOption>({
  globalData: {},
  onLaunch() {
    // 初始化云开发（如果使用云开发OCR功能作为备用方案）
    // 注意：推荐使用百度OCR（纯前端），不需要云开发
    // 如果需要使用云开发OCR作为备用，请在 utils/cloud-config.ts 中配置
    if (OCRConfig.cloudOCR.enabled && wx.cloud) {
      const cloudEnvId = getCloudEnvId();
      
      if (cloudEnvId) {
        try {
          wx.cloud.init({
            env: cloudEnvId,  // 云环境ID，从云开发控制台获取
            traceUser: true  // 是否在将用户访问记录到用户管理中
          });
          console.log('云开发初始化成功，环境ID:', cloudEnvId);
          
          // 保存到全局变量，供其他页面使用
          (this as any).globalCloudEnvId = cloudEnvId;
        } catch (error) {
          console.warn('云开发初始化失败:', error);
          console.warn('提示：请检查 utils/cloud-config.ts 中的配置');
        }
      } else {
        console.warn('云开发未配置：请在 utils/cloud-config.ts 中设置 cloudEnvId');
      }
    } else {
      if (OCRConfig.useBaiduOCR) {
        console.log('使用百度OCR（纯前端实现）');
        if (!OCRConfig.baiduOCR.apiKey || !OCRConfig.baiduOCR.secretKey) {
          console.warn('提示：请在 utils/cloud-config.ts 中配置百度OCR的API Key和Secret Key');
        }
      }
    }

    // 展示本地存储能力
    const logs = wx.getStorageSync('logs') || []
    logs.unshift(Date.now())
    wx.setStorageSync('logs', logs)

    // 检查登录状态
    this.checkLoginStatus()
  },

  checkLoginStatus() {
    const token = wx.getStorageSync('merchantToken')
    const userInfo = wx.getStorageSync('merchantUserInfo')
    
    console.log('=== 检查登录状态 ===')
    console.log('Token:', token)
    console.log('UserInfo:', userInfo)
    console.log('==================')
    
    if (token && userInfo) {
      // 已登录，跳转到订单页面
      wx.switchTab({
        url: '/pages/orders/orders'
      })
    } else {
      // 未登录，跳转到登录页面
      wx.redirectTo({
        url: '/pages/auth/auth'
      })
    }
  }
})